//
//  XMNetwork+mine.h
//  XMJJ_zml
//
//  Created by apple on 2025/5/10.
//

#import "XMNetwork.h"

NS_ASSUME_NONNULL_BEGIN

@interface XMNetwork (mine)

/**
 个人信息
 */
- (void)getUserInfoSuccess:(void (^)(id responseObject))successBlock
                   failure:(void (^)(NSError *error))failureBlock;

/**
 修改基本信息
 */
- (void)changeBasicInfoWithBasicInfo:(NSDictionary *)userInfoDic
                             success:(void (^)(id responseObject))successBlock
                             failure:(void (^)(NSError *error))failureBlock;

#pragma mark - 好友
/**
 推荐朋友列表
 */
- (void)getRecommendFriendList:(void (^)(id responseObject))successBlock
                       failure:(void (^)(NSError *error))failureBlock;

/**
 搜索朋友列表
 */
- (void)getSearchFriendListWithSearchKey:(NSString *)searchKey
                                 success:(void (^)(id responseObject))successBlock
                                 failure:(void (^)(NSError *error))failureBlock;

/**
 关注
 */
- (void)friendAttentionWithUserId:(NSString *)userId
                          success:(void (^)(id responseObject))successBlock
                          failure:(void (^)(NSError *error))failureBlock;

/**
 取消关注
 */
- (void)cancelAttentionWithUserId:(NSString *)userId
                          success:(void (^)(id responseObject))successBlock
                          failure:(void (^)(NSError *error))failureBlock;

/**
 通讯录好友信息
 */
- (void)getAddressBookWithUserList:(NSArray *)userList
                           success:(void (^)(id responseObject))successBlock
                           failure:(void (^)(NSError *error))failureBlock;

/**
 我的地址列表
 */
- (void)getMyAddressListSuccess:(void (^)(id))successBlock
                        failure:(void (^)(NSError *))failureBlock;

/**
 创建地址
 */
- (void)creatAddressWithName:(NSString *)name
                      mobile:(NSString *)mobile
                      areaId:(NSString *)areaId
               detailAddress:(NSString *)detailAddress
               defaultStatus:(id)defaultStatus
                     success:(void (^)(id))successBlock
                     failure:(void (^)(NSError *))failureBlock;

/**
 更新地址
 */
- (void)addressUpdateWithId:(NSString *)addressId
                       name:(NSString *)name
                     mobile:(NSString *)mobile
                     areaId:(NSString *)areaId
              detailAddress:(NSString *)detailAddress
              defaultStatus:(id)defaultStatus
                    success:(void (^)(id))successBlock
                    failure:(void (^)(NSError *))failureBlock;

#pragma mark - 编辑主页
/**
 主页信息
 */
- (void)getHomePageInfoSuccess:(void (^)(id responseObject))successBlock
                       failure:(void (^)(NSError *error))failureBlock;

/**
 他人个人信息
 */
- (void)getOtherInfoWithUserId:(NSString *)userId
                       success:(void (^)(id responseObject))successBlock
                       failure:(void (^)(NSError *error))failureBlock;

/**
 用户基本信息
 */
- (void)getUserBasicInfoSuccess:(void (^)(id responseObject))successBlock
                        failure:(void (^)(NSError *error))failureBlock;

/**
 上传头像
 */
- (void)updateAvatarWithImg:(UIImage *)avatar
                    success:(void (^)(id repsonseObject))successBlock
                    failure:(void (^)(NSError *error))failureBlock;

#pragma mark - 设置
/**
 更换手机号
 */
- (void)changeMobileWithNewMobile:(NSString *)mobileStr
                             code:(NSString *)codeStr
                          success:(void (^)(id responseObject))successBlock
                          failire:(void (^)(NSError *error))failureBlock;

/**
 修改密码
 */
- (void)pwSetWithNewPW:(NSString *)newPw
                  code:(NSString *)codeStr
               success:(void (^)(id responseObject))successBlock
               failure:(void (^)(NSError *error))failureBlock;

/**
 职业列表
 */
- (void)getJobListSuccess:(void (^)(id responseObject))successBlock
                  failure:(void (^)(NSError *error))failureBlock;

/**
 获取地区树
 */
- (void)getAreaListSuccess:(void (^)(id responseObject))successBlock
                    failure:(void (^)(NSError *error))failureBlock;

/**
 实名认证
 */
- (void)realNameAuthenWithName:(NSString *)name
                          idNo:(NSString *)idNo
                       success:(void (^)(id responseObject))successBlock
                       failure:(void (^)(NSError *error))failureBlock;

/**
 我的作品
 */
- (void)getMyProductsSuccess:(void (^)(id responseObject))successBlock
                     failure:(void (^)(NSError *error))failureBlock;

/**
 我的收藏
 */
- (void)getMyCollectWithPage:(NSString *)pageStr
                     success:(void (^)(id responseObject))successBlock
                     failure:(void (^)(NSError *error))failureBlock;

/**
 我喜欢的
 */
- (void)getMyLikeWithPage:(NSString *)pageStr
                  success:(void (^)(id responseObject))successBlock
                  failure:(void (^)(NSError *error))failureBlock;

/**
 钱包余额
 */
- (void)getBalanceSuccess:(void (^)(id responseObject))successBlock
                  failure:(void (^)(NSError *error))failureBlock;

/**
 提现记录
 */
- (void)getWithdrawRecordWithPage:(NSString *)pageStr
                          success:(void (^)(id responseObject))successBlock
                          failure:(void (^)(NSError *error))failureBlock;

/**
 提现
 */
- (void)withdrawWithMoney:(NSString *)moneyStr
                  payType:(NSString *)payType
               payAccount:(NSString *)payAccount
                  success:(void (^)(id responseObject))successBlock
                  failure:(void (^)(NSError *error))failureBlock;

/**
 提交反馈
 */
- (void)submitFeedbackWithSelection:(NSString *)selection
                            content:(NSString *)content
                               imgs:(NSString *)imgs
                            success:(void (^)(id responseObject))successBlock
                            failure:(void (^)(NSError *error))failureBlock;

/**
 退出登录
 */
- (void)logoutSuccess:(void (^)(id responseObject))successBlock
              failure:(void (^)(NSError *error))failureBlock;

/**
 注销账号
 */
- (void)cancelAccountSuccess:(void (^)(id responseObject))successBlock
                     failure:(void (^)(NSError *error))failureBlock;

#pragma mark - 订单
/**
 我的见面
 */
- (void)getMyMeetingWithStatus:(NSString *)statusStr
                       deleted:(NSString *)deleted
                        userId:(NSString *)userId
                       pageNum:(NSString *)pageNumStr
                       success:(void (^)(id responseObject))successBlock
                       failure:(void (^)(NSError *error))failureBlock;

/*
 见面箱
 */
- (void)getMyMeetBoxSuccess:(void (^)(id responseObject))successBlock
                    failure:(void (^)(NSError *error))failureBlock;

/**
 删除见面箱内见面
 */
- (void)myMeetBoxDeleteMeetWithCartIds:(NSString *)cardIds
                               success:(void (^)(id responseObject))successBlock
                               failure:(void (^)(NSError *error))failureBlock;

/**
 我的订单
 */
- (void)getMyOrderListWithStatus:(NSString *)statusStr
                         pageNum:(NSString *)pageNum
                       buyOrShow:(NSString *)buyOrShow
                         success:(void (^)(id responseObject))successBlock
                         failure:(void (^)(NSError *error))failureBlock;

/**
 浏览作品记录
 */
- (void)getMyBrowsHistoryWithPage:(NSString *)pageNumStr
                          success:(void (^)(id responseObject))successBlock
                          failure:(void (^)(NSError *error))failureBlock;

/**
 浏览产品记录
 */
- (void)getMyBrowseMeetHisWithPage:(NSString *)pageNumStr
                           success:(void (^)(id responseObject))successBlock
                           failure:(void (^)(NSError *error))failureBlock;

/**
 最近访客
 */
- (void)getLatelyVisitorsSuccess:(void (^)(id responseObject))successBlock
                         failure:(void (^)(NSError *error))failureBlock;

/**
 删除结束的见面
 */
- (void)deleteOverMeetingWithOrderId:(NSString *)orderId
                             success:(void (^)(id responseObject))successBlock
                             failure:(void (^)(NSError *error))failureBlock;

/**
 删除见聊
 */
- (void)deleteMeetingWithServiceId:(NSString *)serviceId
                           success:(void (^)(id responseObject))successBlock
                           failure:(void (^)(NSError *error))failureBlock;

/**
 见面下架
 */
- (void)meetingSoldOutWithServiceId:(NSString *)serviceId
                            success:(void (^)(id responseObject))successBlock
                            failure:(void (^)(NSError *error))failureBlock;

/**
 见面上架
 */
- (void)meetingReputawayWithServiceId:(NSString *)serviceId
                              success:(void (^)(id responseObject))successBlock
                              failure:(void (^)(NSError *error))failureBlock;

/**
 删除浏览作品记录
 */
- (void)deleteMyBrowseProductionWithVideoIds:(NSArray *)videoIds
                                     success:(void (^)(id responseObject))successBlock
                                     failure:(void (^)(NSError *error))failureBlock;

/**
 清空浏览见面记录
 */
- (void)clearMyBrowseMeetSuccess:(void (^)(id responseObject))successBlock
                         failure:(void (^)(NSError *error))failureBlock;

/**
 删除所有浏览记录
 */
- (void)deleteAllBrowseSuccess:(void (^)(id responseObject))successBlock
                       failure:(void (^)(NSError *error))failureBlock;

/**
 订单详情
 */
- (void)getOrderDetailWithOrderId:(NSString *)orderId
                          success:(void (^)(id responseObject))successBlock
                          failure:(void (^)(NSError *error))failureBlock;

/**
 退款规则
 */
- (void)getReturnRuleSuccess:(void (^)(id responseObject))successBlock
                     failure:(void (^)(NSError *error))failureBlock;

/**
 申请退款
 */
- (void)applyForReturnWithOrderId:(NSString *)orderId
                         reasonMy:(NSString *)reasonMyStr
                      reasonOther:(NSString *)reasonOtherStr
                    reasonExplain:(NSString *)reasonExplainStr
                          success:(void (^)(id responseObject))successBlock
                          failure:(void (^)(NSError *error))failureBlock;

/**
 取消退款
 */
- (void)cancelRefundWithRefundId:(NSString *)refundId
                         success:(void (^)(id responseObject))successBlock
                         failure:(void (^)(NSError *error))failureBlock;

/**
 处理退款
 */
- (void)dealwithRefundWithRefundId:(NSString *)refundId
                            accept:(NSString *)acceptStr
                            reason:(NSString *)reasonStr
                           success:(void (^)(id responseObject))successBlock
                           failure:(void (^)(NSError *error))failureBlock;

/**
 结束见面
 */
- (void)meetOverWithOrderNo:(NSString *)orderNo
                    success:(void (^)(id responseObject))successBlock
                    failure:(void (^)(NSError *error))failureBlock;

/**
 提交评价
 */
- (void)evaluateConfirmWithParameters:(NSDictionary *)parameters
                              success:(void (^)(id responseObject))successBlock
                              failure:(void (^)(NSError *error))failureBlock;

/**
 提交获取转卖信息
 */
- (void)getResellInfoWithOrderId:(NSString *)orderId
                           money:(NSString *)priceStr
                         success:(void (^)(id responseObject))successBlock
                         failure:(void (^)(NSError *error))failureBlock;

/**
 获取转卖详情
 */
- (void)getResellDetailInfoWitContent:(NSString *)contentStr
                              success:(void (^)(id responseObject))successBlock
                              failure:(void (^)(NSError *error))failureBlock;

/**
 转卖
 */
- (void)resellConfirmWithServiceId:(NSString *)serviceId
                           success:(void (^)(id responseObject))successBlock
                           failure:(void (^)(NSError *error))failureBlock;

/**
 赠送
 */
- (void)getGiveInfoWithOrderId:(NSString *)orderId
                       success:(void (^)(id responseObject))successBlock
                       failure:(void (^)(NSError *error))failureBlock;

/**
 退款详情
 */
- (void)getRefundDetailInfoWithRefundId:(NSString *)refundId
                                success:(void (^)(id responseObject))successBlock
                                failure:(void (^)(NSError *error))failureBlock;

/**
 取消见面
 */
- (void)cancelMeetWithOrderId:(NSString *)orderId
                      success:(void (^)(id responseObject))successBlock
                      failure:(void (^)(NSError *error))failureBlock;

/**
  关注列表
 */
- (void)getFriendListWithPageNum:(NSString *)pageNum
                         success:(void (^)(id responseObject))successBlock
                         failure:(void (^)(NSError *error))failureBlock;

@end

NS_ASSUME_NONNULL_END
